import PyInstaller.__main__
import os
import sys

# 获取当前目录
current_dir = os.path.dirname(os.path.abspath(__file__))

# 字体文件列表
fonts = ['simhei.ttf', 'simsun.ttc', 'msyh.ttc']
font_data = []

# 检查并添加字体文件
for font in fonts:
    font_path = os.path.join(current_dir, font)
    if os.path.exists(font_path):
        if sys.platform.startswith('win'):
            font_data.append(f'--add-data={font};.')
        else:
            font_data.append(f'--add-data={font}:.')

# 基本配置
config = [
    'watermark_tool.py',  # 主程序文件
    '--name=图片水印工具V0.0.1',  # 生成的exe名称
    '--windowed',  # 使用GUI模式，不显示控制台
    '--onefile',  # 打包成单个exe文件
    '--clean',  # 清理临时文件
    f'--distpath={os.path.join(current_dir, "dist")}',  # 输出目录
    '--noconfirm',  # 不询问覆盖确认
    '--hidden-import=PIL',
    '--hidden-import=PIL._imagingtk',
    '--hidden-import=PIL._tkinter_finder',
]

# 添加图标（如果存在）
icon_path = os.path.join(current_dir, 'icon.ico')
if os.path.exists(icon_path):
    config.append(f'--icon={icon_path}')

# 合并所有配
config.extend(font_data)

try:
    print("开始打包...")
    PyInstaller.__main__.run(config)
    print("打包完成！")
except Exception as e:
    print(f"打包过程中出现错误：{str(e)}") 